package cn.cvs.web.converter;

import org.apache.log4j.Logger;
import org.springframework.core.convert.converter.Converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 自定义的字符串转日期转换器
 */
public class String2DateConverter implements Converter<String, Date> {
	private Logger logger = org.apache.log4j.Logger.getLogger(String2DateConverter.class);

	private String datePattern;

	/**
	 * 一个日期格式参数的构造函数
	 * @param datePattern 日期格式
	 */
	public String2DateConverter(String datePattern){
		logger.info("加载String2DateConverter");
		this.datePattern = datePattern;
	}

	/**
	 * 具体的字符串转日期功能方法
	 * @param s
	 * @return
	 */
	@Override
	public Date convert(String s) {
		Date date = null;
		try {
			date =  new SimpleDateFormat(datePattern).parse(s);
			logger.info("String2DateConverter convert date:" + date);
		} catch (ParseException e) {
			logger.error("日期转换失败：" + s );
			e.printStackTrace();
		}
		return date;
	}
}
